package com.xxxtea.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * 聊天会话关联实体类
 *
 * 用于存储聊天会话与业务对象的关联关系，包括：
 * - 会话与业务对象关联（任务、商品等）
 * - 用户与会话关联
 * - 业务类型管理
 *
 * 使用MyBatis-Plus注解进行数据库映射
 * 使用Swagger注解进行API文档生成
 *
 * @author badman
 * @since 1.0.0
 */
@Data
@ApiModel("聊天会话关联")
@TableName(autoResultMap = true)
public class ChatSessionRel {

	/**
	 * 主键ID
	 * 使用自增策略
	 */
	@ApiModelProperty("主键")
	@TableId(value = "id", type = IdType.AUTO)
	private Integer id;

	/**
	 * 会话ID
	 * 关联ChatSession表
	 */
	@ApiModelProperty("会话ID")
	private Integer sessionId;

	/**
	 * 业务ID
	 * 关联的业务对象ID（如任务ID、商品ID等）
	 */
	@ApiModelProperty("任务ID")
	private Integer businessId;

	/**
	 * 业务类型
	 * 业务对象的类型标识
	 */
	@ApiModelProperty("任务类型")
	private Integer businessType;

	/**
	 * 用户ID
	 * 关联用户
	 */
	@ApiModelProperty("用户ID")
	private Integer userId;

	/**
	 * 创建时间
	 * 自动填充插入时间
	 */
	@ApiModelProperty("创建时间")
	@TableField(fill = FieldFill.INSERT)
	private Date createTime;
}